
var map;
var geocoder;

var gmarkers = [];
var htmls = [];
var i = 0; 

var latitud=null;
var longitud=null;
var mensaje;
var coordenadas="";
var points= [];
	//inicializa el mapa

function initialize() {
		
		map = new GMap2(document.getElementById("map_canvas"));	
		geocoder = new GClientGeocoder();
		
		if(latitud!=null){
			map.setCenter(new GLatLng(latitud, longitud), 10);
    		MarcarPunto(latitud,longitud,mensaje);
			 
			 
		}else
		{
			map.setCenter(new GLatLng( 8.996313269136376, -83.68011474609375), 9);
			LoadPuntos();;
			
		}
		     var customUI = map.getDefaultUI();
			 customUI.maptypes.hybrid = true;
			 customUI.maptypes.satellite=false;
			 customUI.maptypes.physical=true;
			
			 map.setUI(customUI);
			 map.addControl(new GOverviewMapControl()); 
			// loadmapa();
		 //muestra las coordenada geografias del lugar donde se realice el click
		  GEvent.addListener(map, "click", function(overlay,latlng) {
		 if (latlng) {
 				
				points.push(new GLatLng(latlng.y,latlng.x));
				//drawline();
				//$("#txtcordenadas").append(latlng.y+","+latlng.x+"\n");
				//obtiene los puntos de latitud y longitud
				 var myHtml = "Latitud: "+latlng.y+", Longitud:  "+latlng.x;
				  // map.openInfoWindow(latlng, myHtml);

		 }
		 });
		  

}
//dibuja lineas en el mapa
	function drawline()
	{

				 var polyOptions = {geodesic:true};
				 var polyline = new GPolyline(points, "#000000", 2, 1, polyOptions);
				 map.addOverlay(polyline);

	}
	
	//agrega un marcador al punto inicial
	function MarcarPunto(xlatitud,xlongitud,xmsg)
	{
		var point = new GLatLng(xlatitud,xlongitud);
		var marker = new GMarker(point);
		map.openInfoWindowHtml(point, xmsg);
        //crea un evento que muestra la informaci�n del marcador a la hora de hacer click
		GEvent.addListener(marker, "click", function() {
  		   map.openInfoWindowHtml(point, xmsg);
 		 });
		//almacena el marker y el msg en un arreglo para ser consultado luego
		gmarkers[i]=marker;
		htmls[i]=xmsg;		
		map.addOverlay(marker);
		//agrega la lista de los marcadores 
		
		i++;
	}
	//agrega un marcador al punto inicial
	function MarcarPuntos(xlatitud,xlongitud,xmsg,idente)
	{
		var point = new GLatLng(xlatitud,xlongitud);
		var marker = new GMarker(point);
		
		xmsg="<center> <a href='./Planta/Mostrar.php?id_ente="+idente+"'  target=\"_blank\">"+ xmsg+"</a><center>";
        //crea un evento que muestra la informaci�n del marcador a la hora de hacer click
		GEvent.addListener(marker, "click", function() {
  		   map.openInfoWindowHtml(point, xmsg);
 		 });
		//almacena el marker y el msg en un arreglo para ser consultado luego
		gmarkers[i]=marker;
		htmls[i]=xmsg;		
		map.addOverlay(marker);
	
		//agrega la lista de los marcadores 
		$("#marca").append("<option value=\""+idente+"\" title=\""+i+"\">"+xmsg+"</option>");
		i++;
	}
 	function pointclick(i)
	{
		 gmarkers[i].openInfoWindowHtml(htmls[i]); 
	}
	
	function getmarker()
	{
		var valor=document.getElementById("marca").options[document.getElementById("marca").selectedIndex].title;
		pointclick(valor);
	}
	
	function SobreMapa()
	
	{
		
		var point = new GLatLng(8.996313269136376, -83.68011474609375);
		var tinyIcon = new GIcon();
		tinyIcon.image = "./imagenes/cr.jpg";
		
		tinyIcon.iconSize = new GSize(800, 600);
		tinyIcon.shadowSize = new GSize(22, 20);
		tinyIcon.iconAnchor = new GPoint(6, 20);
		tinyIcon.infoWindowAnchor = new GPoint(5, 1);

	
		
		markerOptions = { icon:tinyIcon };
	    
		var marker = new GMarker(point,markerOptions);
		 map.addOverlay(marker);
	}
//******************************************************	
//buscar una ubicacion en el mapa
	//agregar un marcador al punto encontrado
    function addAddressToMap(response) {
     // map.clearOverlays();
      if (!response || response.Status.code != 200) {
        alert("No se encontro el destino deseado");
      } else {
        place = response.Placemark[0];
        point = new GLatLng(place.Point.coordinates[1],
                            place.Point.coordinates[0]);
        marker = new GMarker(point);
        map.addOverlay(marker);
        marker.openInfoWindowHtml(place.address);
      
    }
	}
    // showLocation() is called when you click on the Search button
    // in the form.  It geocodes the address entered into the form
    // and adds a marker to the map at that location.
    function showLocation() {
      var address = document.forms["frmfind"].txtbuscar.value;
      geocoder.getLocations(address, addAddressToMap);
    }

   // findLocation() is used to enter the sample addresses into the form.
    function findLocation(address) {
      document.forms["frmfind"].txtbuscar.value = address;
      showLocation();
    }
	
	

//******************************************************	

function GetTipo()
{
		var valor=$("#txttipo").val();
		map.clearOverlays();
		$("#marca").html("");
		$("#puntos").html("");
		gmarkers = [];
		htmls = [];
		i = 0; 
		$.get("./Consultas/puntos.php",{tipo: "Planta",tema: valor},
			function(data){
				eval(data);	
		});
}


function loadmapa() {
   if (GBrowserIsCompatible()) {
           //creo los pol�gonos de Espa�a
      var coordenadas_espana = country.CR.coord;
      for (i=0; i<coordenadas_espana.length; i++){
         map.addOverlay(new GPolygon(coordenadas_espana[i],"#dd6600", 2, 0.3, "#000", 0.4));
      }
  
   }
}




